package com.lb.entity.building;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * 楼盘信息表
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "building")
public class Building implements Serializable {
    /**
     * 楼盘id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 楼盘序号
     */
    @TableField(value = "building_no")
    private String buildingNo;

    /**
     * 高德关联ID
     */
    @TableField(value = "poi_id")
    private String poiId;

    /**
     * 楼盘名称
     */
    @TableField(value = "building_name")
    private String buildingName;

    /**
     * 楼盘地址
     */
    @TableField(value = "building_address")
    private String buildingAddress;

    /**
     * 楼盘管理公司名称
     */
    @TableField(value = "manager_name")
    private String managerName;

    /**
     * 楼盘管理公司照片
     */
    @TableField(value = "manager_photo")
    private String managerPhoto;

    /**
     * 楼盘负责人账号
     */
    @TableField(value = "principal_user_id")
    private Long principalUserId;

    /**
     * 楼盘负责人工号
     */
    @TableField(value = "principal_user_no")
    private String principalUserNo;

    /**
     * 楼盘负责人姓名
     */
    @TableField(value = "principal_user_name")
    private String principalUserName;

    /**
     * 省ID
     */
    @TableField(value = "province_id")
    private Integer provinceId;

    /**
     * 省编号
     */
    @TableField(value = "province_code")
    private String provinceCode;

    /**
     * 省名称
     */
    @TableField(value = "province_name")
    private String provinceName;

    /**
     * 城市ID
     */
    @TableField(value = "city_id")
    private Integer cityId;

    /**
     * 城市编号
     */
    @TableField(value = "city_code")
    private String cityCode;

    /**
     * 城市名称
     */
    @TableField(value = "city_name")
    private String cityName;

    /**
     * 区ID
     */
    @TableField(value = "district_id")
    private Integer districtId;

    /**
     * 区编号
     */
    @TableField(value = "district_code")
    private String districtCode;

    /**
     * 区名称
     */
    @TableField(value = "district_name")
    private String districtName;

    /**
     * 楼盘经度(高德)
     */
    @TableField(value = "longitude")
    private String longitude;

    /**
     * 楼盘纬度(高德)
     */
    @TableField(value = "latitude")
    private String latitude;

    /**
     * 楼盘纬度(高德)
     */
    @TableField(value = "geo_code")
    private String geoCode;

    /**
     * 地图集(高德)
     */
    @TableField(value = "atlas")
    private String atlas;

    /**
     * 楼盘级别编码
     */
    @TableField(value = "building_level_code")
    private String buildingLevelCode;

    /**
     * 楼盘级别名称
     */
    @TableField(value = "building_level_name")
    private String buildingLevelName;

    /**
     * 建筑资料(多选,多个用逗号隔开) 1-客户楼 2-事企业大楼
     */
    @TableField(value = "building_data_code")
    private String buildingDataCode;

    /**
     * 建筑资料(多选,多个用逗号隔开) 1-客户楼 2-事企业大楼
     */
    @TableField(value = "building_data_name")
    private String buildingDataName;

    /**
     * 楼盘类型(单选) 19-商务楼 20-住宅楼 21-商住两用楼
     */
    @TableField(value = "building_type_code")
    private Integer buildingTypeCode;

    /**
     * 楼盘类型(单选) 19-商务楼 20-住宅楼 21-商住两用楼
     */
    @TableField(value = "building_type_name")
    private String buildingTypeName;

    /**
     * 核验状态(单选) 1-待分配 2-待核验 3-可开发 4-不可开发 5-建设中
     */
    @TableField(value = "verify_status_code")
    private Integer verifyStatusCode;

    /**
     * 核验状态(单选) 1-待分配 2-待核验 3-可开发 4-不可开发 5-建设中
     */
    @TableField(value = "verify_status_name")
    private String verifyStatusName;

    /**
     * 不可开发原因(单选) 1-无电梯 2-无效数据 3-数据重复
     */
    @TableField(value = "unable_cause_code")
    private Integer unableCauseCode;

    /**
     * 不可开发原因(单选) 1-无电梯 2-无效数据 3-数据重复
     */
    @TableField(value = "unable_cause_name")
    private String unableCauseName;

    /**
     * 无效数据类型(单选) 1-脏数据 2-厂房 3-疗养院专用 4-宿舍 5-酒店独栋 6-景区 7-停车场 8-教学楼 9-其他
     */
    @TableField(value = "invalid_type_code")
    private Integer invalidTypeCode;

    /**
     * 无效数据类型(单选) 1-脏数据 2-厂房 3-疗养院专用 4-宿舍 5-酒店独栋 6-景区 7-停车场 8-教学楼 9-其他
     */
    @TableField(value = "invalid_type_name")
    private String invalidTypeName;

    /**
     * 跟进状态(单选) 1-收集资料 2-已报价 3-合同流程中 4-客户已拒绝 5-暂不开发 6-已合作
     */
    @TableField(value = "follow_status_code")
    private Integer followStatusCode;

    /**
     * 跟进状态(单选) 1-收集资料 2-已报价 3-合同流程中 4-客户已拒绝 5-暂不开发 6-已合作
     */
    @TableField(value = "follow_status_name")
    private String followStatusName;

    /**
     * 拒绝原因(单选) 1-暂无意向 2-业委会不同意 3-价格原因 4-物业不同意 5-竞媒独家 6-其他
     */
    @TableField(value = "refuse_cause_code")
    private Integer refuseCauseCode;

    /**
     * 拒绝原因(单选) 1-暂无意向 2-业委会不同意 3-价格原因 4-物业不同意 5-竞媒独家 6-其他
     */
    @TableField(value = "refuse_cause_name")
    private String refuseCauseName;

    /**
     * 暂不开发原因(单选) 1-环境脏乱差 2-没有人流 3-远郊楼盘
     */
    @TableField(value = "non_cause_code")
    private Integer nonCauseCode;

    /**
     * 暂不开发原因(单选) 1-环境脏乱差 2-没有人流 3-远郊楼盘
     */
    @TableField(value = "non_cause_name")
    private String nonCauseName;

    /**
     * 预警标签(单选) 1-历时预警 2-久攻未破
     */
    @TableField(value = "building_tag_code")
    private Integer buildingTagCode;

    /**
     * 预警标签(单选) 1-历时预警 2-久攻未破
     */
    @TableField(value = "building_tag_name")
    private String buildingTagName;

    /**
     * 数据来源(单选) 1-FWO 2-预审小程序
     */
    @TableField(value = "sources")
    private Integer sources;

    /**
     * 创建用户id
     */
    @TableField(value = "create_user_id")
    private String createUserId;

    /**
     * 创建用户工号
     */
    @TableField(value = "create_user_no")
    private String createUserNo;

    /**
     * 创建用户名字
     */
    @TableField(value = "create_user_name")
    private String createUserName;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 更新用户id
     */
    @TableField(value = "update_user_id")
    private String updateUserId;

    /**
     * 更新用户工号
     */
    @TableField(value = "update_user_no")
    private String updateUserNo;

    /**
     * 更新用户名字
     */
    @TableField(value = "update_user_name")
    private String updateUserName;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    private Date updateTime;

    /**
     * 逻辑删除标记 0-未删除 1-已删除
     */
    @TableField(value = "delete_flag")
    private Integer deleteFlag;

    /**
     * 数据状态 0-无效 1-有效
     */
    @TableField(value = "valid_status")
    private Integer validStatus;

    /**
     * 链路id(日志追踪)
     */
    @TableField(value = "trace_id")
    private String traceId;

    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;

    /**
     * 版本号(乐观锁)
     */
    @TableField(value = "data_version")
    private Integer dataVersion;

    private static final long serialVersionUID = 1L;

    public static final String COL_ID = "id";

    public static final String COL_BUILDING_NO = "building_no";

    public static final String COL_POI_ID = "poi_id";

    public static final String COL_BUILDING_NAME = "building_name";

    public static final String COL_BUILDING_ADDRESS = "building_address";

    public static final String COL_MANAGER_NAME = "manager_name";

    public static final String COL_MANAGER_PHOTO = "manager_photo";

    public static final String COL_PRINCIPAL_USER_ID = "principal_user_id";

    public static final String COL_PRINCIPAL_USER_NO = "principal_user_no";

    public static final String COL_PRINCIPAL_USER_NAME = "principal_user_name";

    public static final String COL_PROVINCE_ID = "province_id";

    public static final String COL_PROVINCE_CODE = "province_code";

    public static final String COL_PROVINCE_NAME = "province_name";

    public static final String COL_CITY_ID = "city_id";

    public static final String COL_CITY_CODE = "city_code";

    public static final String COL_CITY_NAME = "city_name";

    public static final String COL_DISTRICT_ID = "district_id";

    public static final String COL_DISTRICT_CODE = "district_code";

    public static final String COL_DISTRICT_NAME = "district_name";

    public static final String COL_LONGITUDE = "longitude";

    public static final String COL_LATITUDE = "latitude";

    public static final String COL_ATLAS = "atlas";

    public static final String COL_BUILDING_LEVEL_CODE = "building_level_code";

    public static final String COL_BUILDING_LEVEL_NAME = "building_level_name";

    public static final String COL_BUILDING_DATA_CODE = "building_data_code";

    public static final String COL_BUILDING_DATA_NAME = "building_data_name";

    public static final String COL_BUILDING_TYPE_CODE = "building_type_code";

    public static final String COL_BUILDING_TYPE_NAME = "building_type_name";

    public static final String COL_VERIFY_STATUS_CODE = "verify_status_code";

    public static final String COL_VERIFY_STATUS_NAME = "verify_status_name";

    public static final String COL_UNABLE_CAUSE_CODE = "unable_cause_code";

    public static final String COL_UNABLE_CAUSE_NAME = "unable_cause_name";

    public static final String COL_INVALID_TYPE_CODE = "invalid_type_code";

    public static final String COL_INVALID_TYPE_NAME = "invalid_type_name";

    public static final String COL_FOLLOW_STATUS_CODE = "follow_status_code";

    public static final String COL_FOLLOW_STATUS_NAME = "follow_status_name";

    public static final String COL_REFUSE_CAUSE_CODE = "refuse_cause_code";

    public static final String COL_REFUSE_CAUSE_NAME = "refuse_cause_name";

    public static final String COL_NON_CAUSE_CODE = "non_cause_code";

    public static final String COL_NON_CAUSE_NAME = "non_cause_name";

    public static final String COL_BUILDING_TAG_CODE = "building_tag_code";

    public static final String COL_BUILDING_TAG_NAME = "building_tag_name";

    public static final String COL_SOURCES = "sources";

    public static final String COL_CREATE_USER_ID = "create_user_id";

    public static final String COL_CREATE_USER_NO = "create_user_no";

    public static final String COL_CREATE_USER_NAME = "create_user_name";

    public static final String COL_CREATE_TIME = "create_time";

    public static final String COL_UPDATE_USER_ID = "update_user_id";

    public static final String COL_UPDATE_USER_NO = "update_user_no";

    public static final String COL_UPDATE_USER_NAME = "update_user_name";

    public static final String COL_UPDATE_TIME = "update_time";

    public static final String COL_DELETE_FLAG = "delete_flag";

    public static final String COL_VALID_STATUS = "valid_status";

    public static final String COL_TRACE_ID = "trace_id";

    public static final String COL_REMARK = "remark";

    public static final String COL_DATA_VERSION = "data_version";
}